<!DOCTYPE html>
<html lang="en">
	<head>
		<title>three.js - uv mapping tests</title>
		<meta charset=utf-8 />
		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
		<style>
			body {
				background: #ffffff;
				color: #000000;
				text-align: center;
				font-family: sans-serif;
			}
			h3 {
				margin-top: 60px;
				margin-bottom: 30px;
				font-weight: normal;
			}
			canvas {
				width: 100%;
			}
		</style>
	</head>

	<body>

		<script type="module">

			import * as THREE from '../build/three.module.js';

			import { UVsDebug } from './jsm/utils/UVsDebug.js';

			/*
			 * This is to help debug UVs problems in geometry,
			 * as well as allow a new user to visualize what UVs are about.
			 */

			function test( name, geometry ) {

				const d = document.createElement( 'div' );

				d.innerHTML = '<h3>' + name + '</h3>';

				d.appendChild( UVsDebug( geometry ) );

				document.body.appendChild( d );

			}

			const points = [];

			for ( let i = 0; i < 10; i ++ ) {

				points.push( new THREE.Vector2( Math.sin( i * 0.2 ) * 15 + 50, ( i - 5 ) * 2 ) );

			}

			//

			test( 'new THREE.PlaneGeometry( 100, 100, 4, 4 )', new THREE.PlaneGeometry( 100, 100, 4, 4 ) );

			test( 'new THREE.SphereGeometry( 75, 12, 6 )', new THREE.SphereGeometry( 75, 12, 6 ) );

			test( 'new THREE.IcosahedronGeometry( 30, 1 )', new THREE.IcosahedronGeometry( 30, 1 ) );

			test( 'new THREE.OctahedronGeometry( 30, 2 )', new THREE.OctahedronGeometry( 30, 2 ) );

			test( 'new THREE.CylinderGeometry( 25, 75, 100, 10, 5 )', new THREE.CylinderGeometry( 25, 75, 100, 10, 5 ) );

			test( 'new THREE.BoxGeometry( 100, 100, 100, 4, 4, 4 )', new THREE.BoxGeometry( 100, 100, 100, 4, 4, 4 ) );

			test( 'new THREE.LatheGeometry( points, 8 )', new THREE.LatheGeometry( points, 8 ) );

			test( 'new THREE.TorusGeometry( 50, 20, 8, 8 )', new THREE.TorusGeometry( 50, 20, 8, 8 ) );

			test( 'new THREE.TorusKnotGeometry( 50, 10, 12, 6 )', new THREE.TorusKnotGeometry( 50, 10, 12, 6 ) );

		</script>

	</body>

</html>
